Chiffrement complet disque Linux avec LUKS et déchifrement avec une carte à puce GPG

Article original :  Linux LUKS full disk encryption

Les disques durs non chiffrés sont facilement accessibles en cas de vol ou de perte. Le mot de passe de votre compte empêche uniquement quelqu'un de se connecter lorsque vous êtes loin de votre machine. C'est pourquoi chaque disque dur doit être entièrement crypté. Cet article décrit en détail le chiffrement complet du disque dur LUKS sous Linux et fournit des instructions pour configurer le chiffrement, pour déchiffrer avec les cartes à puce GPG et quoi faire en cas d'urgence.

La première partie donne un aperçu de ce que ce cryptage implique et de ce qui est fait. Ensuite, il y aura des instructions étape par étape sur la façon d'installer votre nouvel ordinateur Linux (ici en utilisant PureOS , mais devrait être assez adoptable pour Debian en général). Nous verrons ensuite comment configurer un périphérique de carte à puce, par exemple une clé Librem ou une clé YubiKey avec OpenPGP et comment utiliser cette clé pour déchiffrer votre lecteur au démarrage. Enfin, les situations d'urgence seront abordées, c'est-à-dire que se passe-t-il si votre ordinateur tombe en panne, etc.

Important : Il est crucial que vous lisiez cet article avant d'appliquer quoi que ce soit. Aussi : si quelque chose ne va pas pendant le cryptage du disque dur, vous risquez de perdre tout accès à vos données. Ainsi, vous devez avoir une sauvegarde complète de vos données avant de vous lancer !

Notes : Tout au long de ce tutoriel /dev/sda2est utilisé comme lecteur crypté. Vous devez bien sûr remplacer ce lecteur par votre propre appareil (comme expliqué ci-dessous).

Table des matières

L'essentiel

Introduction

Présentation de LUKS

L'outil cryptsetup

Choisir une phrase de passe

Crypter votre disque

Vérifiez votre configuration actuelle

Vérifiez les disques

Un regard sur l'en-tête LUKS

Gestion des clés LUKS

Tester une phrase secrète et déterminer son emplacement de clé

Ajouter un mot de passe

Supprimer un mot de passe

Déchiffrer votre lecteur LUKS avec GPG et une carte à puce

Configurer votre carte à puce GPG

Création de clés GPG

Créez votre propre certificat de révocation

Configurer votre carte à puce : modifier les codes PIN par défaut

Ajouter des sous-clés à votre clé GPG

Ajouter des clés GPG à votre carte à puce

Exporter votre clé publique

Sauvegardez votre dossier GPG

Configurez le déchiffrement du lecteur LUKS avec votre carte à puce

Utilisation du script fourni par Purism

Est-ce sécurisé ?

Dans les coulisses du scénario de Purism

Où est stocké votre fichier clé ?

Révoquer le cryptage de la carte à puce

Urgences

Carte à puce perdue

Montez votre lecteur LUKS dans un système d'exploitation Live

Débloquer un code PIN de carte à puce

Réinitialiser les clés GPG sur la carte à puce

Sauvegarde et restauration de l'en-tête LUKS

Et si vous bousilliez quelque chose

Lectures complémentaires et références

 

L'essentiel

Avant de faire quoi que ce soit qui est décrit ici, vous devez (1) avoir une sauvegarde complète de vos données, (2) avoir lu toute cette page et compris les procédures et les concepts, et (3) ne pas me blâmer si quelque chose ne va pas. Ainsi, pas d'essentiel pour une fois mais plutôt une table des matières ci-dessus au cas où vous utiliseriez cet article plus tard à titre de référence.

Introduction

LUKS , Linux Unified Key Setup, est une spécification de chiffrement de disque qui implémente une norme sur disque indépendante de la plate-forme qui peut être utilisée dans divers outils. L'implémentation de référence pour LUKS s'exécute sous Linux et est basée sur une version améliorée de cryptsetup utilisant le module DMCrypt Kernel. Cryptsetup, largement utilisé ici, est un outil qui peut être utilisé pour configurer et gérer facilement le chiffrement de disque.

Présentation de LUKS

Le format de disque LUKS1 ressemble à peu près au tableau suivant.

LUKS phdr

KM1

KM2

KM8

données en masse

Vient d'abord l'en-tête de partition LUKS (phdr) suivi des huit éléments clés (KM1-8) et enfin des données de masse chiffrées. L'en-tête de partition contient des informations sur l'algorithme de chiffrement utilisé, la longueur de la clé, la somme de contrôle de la clé principale et certaines informations sur l'emplacement de la clé. Chaque emplacement de clé a sa section de matériel de clé attribuée ; ces huit sections suivent l'en-tête de la partition. Si un emplacement de clé est actif, une version cryptée de la clé principale est stockée dans cette zone matérielle de clé. Comme vous l'avez peut-être deviné, le mot de passe que vous définissez est stocké dans un emplacement de clé et peut être utilisé pour déchiffrer le matériel de clé respectif, c'est-à-dire la clé principale. La configuration d'un autre emplacement de clé stocke également la clé principale dans ce matériel de clé et protège le matériel de clé avec la méthode choisie.ici .

Comparé à LUKS1, le format LUKS2 contient deux fois l'en-tête LUKS, ce qui crée une redondance en cas de corruption. Les partitions chiffrées LUKS2 sont donc moins sujettes aux pannes. Avec une partition LUKS2, vous pouvez utiliser jusqu'à 32 clés (implémentation cryptsetup de LUKS, voir ci-dessous). Alors que la clé principale dans LUKS1 est protégée par PBKDF2 , LUKS2 utilise Argon2 . Les deux sont des fonctions dites dérivées de clé qui protègent les mots de passe faibles contre les attaques par force brute.

L'outil cryptsetup

L' outil cryptsetup peut être utilisé pour configurer et utiliser facilement des lecteurs LUKS chiffrés. Il fonctionne avec les deux versions de LUKS et fait la plupart du travail pour vous. Jetez un œil à la manpage de cryptsetup (tapez man cryptsetupdans votre terminal) pour avoir un aperçu des fonctions. Cryptsetup doit être exécuté en tant que root pour faire son travail. Les commandes générales de cryptsetup sont les suivantes :

sudo cryptsetup <CMD> <device>

Cryptsetup est assez silencieux en ce qui concerne les commentaires lisibles par l'homme, c'est donc généralement une bonne idée d'ajouter le -vdrapeau verbeux. Diverses commandes <CMD>sont disponibles et peuvent être trouvées dans le manuel. Il <device>s'agit du lecteur sur lequel vous souhaitez agir. À titre d'exemple, nous pouvons tester si un appareil donné (ici /dev/sda2) est un appareil crypté LUKS. Pour ce faire, nous exécuterions la commande suivante :

sudo cryptsetup -v isLuks /dev/sda2

Cela reviendrait Command successful!si l'appareil est un appareil LUKS.

Choisir une phrase de passe

Une bonne phrase de passe doit être composée d'une variété de caractères, plus il y en a, mieux c'est. Pour des raisons de compatibilité, il est recommandé dans la section 1.2 de la page FAQ de cryptsetup que vous n'utilisiez que les 95 caractères imprimables de la table ASCII de 128 caractères pour votre phrase secrète.

En ce qui concerne la longueur de votre phrase secrète, la page FAQ de cryptsetupLa page a une comparaison très intéressante dans la section 5. Ils présentent un tableau expliquant combien il en coûterait pour casser un mot de passe en 2017 (lorsque l'article a probablement été écrit). À l'époque, ils estimaient que le craquage d'une partition LUKS1 avec un mot de passe d'entropie de 70 bits coûterait environ 600 milliards de dollars américains. Nous sommes maintenant en 2020, donc ce nombre a sûrement chuté, mais l'entropie de 70 bits lors de la sélection aléatoire de 95 caractères est déjà dépassée avec une phrase secrète de 11 caractères. Il n'y a vraiment aucune raison de ne pas choisir plus de caractères et de rendre votre mot de passe fort. Comme nous le verrons plus tard, vous pouvez choisir une phrase de passe très longue et la conserver dans un endroit sûr, puis configurer en plus une carte à puce pour déchiffrer votre disque dur de manière pratique et régulière.

Crypter votre disque

Lors de l'installation de l'exploitation Linux de votre choix, il devrait vous être demandé lors de la configuration de la table de partition si vous souhaitez chiffrer votre disque. Assurez-vous d'activer le cryptage. Un exemple de cela peut être vu sur la capture d'écran ci-dessous lors de l'installation de PureOS 9.0 à partir du système en direct.

Option de lecteur de cryptage PureOSOption de lecteur de cryptage PureOS
 

Des instructions complètes sur la façon d'installer PureOS étape par étape peuvent être trouvées ici pour les applications générales et ici pour l'installation du CD en direct.

Notez que le chiffrement post-installation devrait également être possible, cependant, il est assez spécifique à votre configuration requise et ne sera pas discuté plus en détail ici.

Vérifiez votre configuration actuelle

Vérifiez les disques

Après avoir configuré avec succès votre système crypté, vous devez vérifier que tout a fonctionné avant de continuer. Un coup d'œil à l'utilitaire de disque Gnome devrait vous montrer quelque chose comme ici :

Utilitaire de disque GnomeUtilitaire de disque Gnome
 

Voici la configuration standard créée par le programme d'installation de PureOS. La partition 1 sur le disque est la partition de démarrage (non chiffrée) et est montée sur /boot. La partition 2 est la partition chiffrée LUKS, qui est montée en tant que /. Puisque le système d'exploitation est en cours d'exécution, ce disque est déverrouillé et déchiffré.

Vous pouvez également vérifier votre configuration à partir de la console en appelant la lsblkcommande pour répertorier tous vos périphériques de bloc. Cela vous donnera une sortie qui ressemble à ceci :

NAME                                          MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT

sda                                             8:0    0   10G  0 disk  

├─sda1                                          8:1    0  1.1G  0 part  /boot

└─sda2                                          8:2    0  8.9G  0 part  

  └─luks-e79a38ef-c3ce-4008-997f-a62656c52969 254:0    0  8.9G  0 crypt /

sr0                                            11:0    1  1.4G  0 rom  

Ici, sdaest le seul lecteur principal du système, sda1et sda2sont égaux aux partitions 1 et 2, respectivement d'en haut. La liste des périphériques de bloc montre en outre que sda2 contient le conteneur LUKS que nous avons créé.

Remarque : Vous pouvez utiliser la lsblkcommande pour trouver le lecteur LUKS sur votre appareil !

Un regard sur l'en-tête LUKS

À l'aide de l'outil cryptsetup mentionné dans l'introduction, nous pouvons consulter les informations d'en-tête de la partition cryptée LUKS. La commande suivante vous montrera l'en-tête :

sudo cryptsetup luksDump /dev/sda2

Cela produira un résultat similaire à celui-ci ici:

Informations d'en-tête LUKS pour /dev/sda2

Version:        1

Cipher name:    aes

Cipher mode:    xts-plain64

Hash spec:      sha256

Payload offset: 4096

MK bits:        512

MK digest:      72 ed 93 e7 32 f2 17 94 ec ce 17 26 8c c4 71 32 c6 c5 d1 35

MK salt:        62 e9 97 0f 17 25 29 0f 0b 20 27 43 91 33 2a 8b

                2c 83 1f 42 d0 32 c8 e1 e5 76 d9 8d 43 4d 45 2c

MK iterations:  118509

UUID:           e79a38ef-c3ce-4008-997f-a62656c52969

 

Key Slot 0: ENABLED

    Iterations:             1872456

    Salt:                   11 6f 79 38 96 69 b6 ce 1f a4 33 43 cb 5f 09 4e

                            af 5d 74 bc 1d 4b 79 36 f2 f3 01 84 5c c3 5c 44

    Key material offset:    8

    AF stripes:             4000

Key Slot 1: ENABLED

    Iterations:             1896158

    Salt:                   22 9e 8f 7b 74 1a 2a 91 2b b7 3f ec db a3 57 f6

                            c4 da 5c 13 13 a0 58 5b 98 cb f7 51 9b 16 fc 90

    Key material offset:    512

    AF stripes:             4000

Key Slot 2: DISABLED

Key Slot 3: DISABLED

Key Slot 4: DISABLED

Key Slot 5: DISABLED

Key Slot 6: DISABLED

Key Slot 7: DISABLED

Nous pouvons d'abord voir que le disque a été chiffré avec la version 1 de LUKS. Ensuite, nous obtenons des informations d'en-tête sur le chiffrement spécifique. Nous voyons en outre que deux emplacements de clé sont occupés, l'emplacement de clé 0 et l'emplacement de clé 1. Six autres emplacements de clé sont vides et disponibles pour une utilisation.

On peut se demander pourquoi deux emplacements de clés sont utilisés, d'autant plus que nous n'avons configuré qu'un seul mot de passe lors de l'installation. Le mot de passe déchiffre l'emplacement de clé 0 et est utilisé lors du démarrage. L'emplacement de clé 1 peut être déchiffré avec un fichier de clé stocké dans /crypto_keyfile.bin. Ce fichier clé est utilisé pour monter toutes les partitions et remontages ultérieurs. Un bon aperçu et une description plus détaillée peuvent être trouvés ici .

Gestion des clés LUKS

Dans cette section, divers outils de gestion clés seront brièvement présentés en action. L'idée de cette section est de donner une brève référence pour les commandes les plus couramment utilisées. Remarque : La configuration de test décrite ci-dessus est utilisée ici, c'est-à-dire /dev/sda2la partition chiffrée LUKS.

Tester une phrase secrète et déterminer son emplacement de clé

Pour tester une phrase secrète et déterminer quel emplacement de clé elle déverrouille, vous pouvez exécuter la commande :

sudo cryptsetup --verbose open --test-passphrase /dev/sda2

Vous serez ensuite invité à saisir la phrase de passe que vous souhaitez tester. La saisie de la phrase de passe qui a été configurée lors de l'installation illustrée ci-dessus entraîne une réponse indiquant Key slot 0 unlocked. Cela nous indique que ce mot de passe spécifique est stocké dans l'emplacement de clé 0, une commande pratique à retenir pour plus tard.

Ajouter un mot de passe

Comme indiqué précédemment, LUKS1 permet d'ajouter un total de 8 clés pour déchiffrer votre lecteur. Dans LUKS2, le nombre d'emplacements de clé est limité par l'implémentation et dépend de l'espace disponible pour les emplacements de clé. L' implémentation actuelle de cryptsetup permet 32 ​​emplacements de clé. Pour ajouter une phrase de passe à votre appareil LUKS, saisissez ce qui suit dans un terminal :

sudo cryptsetup luksAddKey /dev/sda2

Vous serez invité à saisir d'abord une phrase secrète existante, puis à saisir deux fois la nouvelle phrase secrète. N'oubliez pas/revoyez les recommandations de phrase de passe ci-dessus. En cas de succès, vous serez simplement renvoyé à l'invite suivante, si vous voulez un message de réussite, choisissez -ven plus le drapeau verbeux. Cela vous permettra également de savoir dans quel emplacement de clé votre phrase secrète a été créée.

Vous devez maintenant tester le déchiffrement avec votre nouveau mot de passe pour vous assurer qu'il fonctionne vraiment (voir la section précédente). Ne sautez pas cette étape, surtout pas si vous retirez ensuite votre clé d'origine.

Important : Pour remplacer une phrase secrète, ajoutez d'abord une nouvelle phrase secrète, puis supprimez l'ancienne ! Soyez toujours prudent lorsqu'il s'agit de remplacer une phrase de passe et assurez-vous de tout vérifier.

Supprimer un mot de passe

Si vous souhaitez supprimer une phrase secrète, utilisez la commande :

sudo cryptsetup luksRemoveKey /dev/sda2

Encore une fois, utilisez l' -vindicateur verbeux si vous souhaitez une sortie supplémentaire. Si vous optez pour une sortie détaillée, LUKS vous dira qu'il a d'abord déverrouillé un emplacement de clé donné, puis l'a sélectionné pour suppression, et enfin l'a supprimé avec succès. Afin de vous assurer que la phrase secrète a bien été supprimée, vous devez continuer et la tester à nouveau avec la commande mentionnée ci-dessus. Bien sûr, vous pouvez également vider l'en-tête LUKS sur le terminal pour une double vérification.

Remarque : Votre mot de passe est supprimé de votre en-tête actuel, mais vous pouvez toujours l'avoir défini dans un en-tête de sauvegarde ou au cas où vous auriez tout le disque dur en miroir quelque part en tant que sauvegarde. Alors que cryptsetup s'assure en fait que toutes les informations sont correctement détruites dans l'emplacement de la clé si vous choisissez de supprimer un emplacement, vous devez vous assurer que toutes vos sauvegardes sont conformes à la même norme de sécurité.

chiffrer votre lecteur LUKS avec GPG et une carte à puce

Un moyen pratique et sécurisé consiste à déchiffrer votre lecteur lors du démarrage à l'aide d'une clé GPG stockée sur une carte à puce, par exemple une clé Librem ou une YubiKey . La carte à puce stocke un GPGclé. Un fichier clé est configuré pour déchiffrer la partition LUKS avec ce fichier au lieu d'utiliser une phrase de passe. Ce fichier clé est crypté avec votre clé GPG et la version cryptée est stockée. Au démarrage, votre système d'exploitation vous demandera désormais, au lieu de vous demander la phrase secrète LUKS, de brancher votre carte à puce avec votre clé GPG. Cette carte à puce est sécurisée par un code PIN que vous devrez saisir pour déchiffrer le fichier clé, qui déverrouillera ensuite votre partition chiffrée LUKS. Le cryptage GPG peut utiliser une phrase secrète forte, tout comme votre phrase secrète de décryptage LUKS. Vous n'aurez besoin de ce dernier qu'en cas d'urgence. Ainsi, tout ce dont vous avez à vous souvenir est, par exemple, un code PIN à huit chiffres. La carte à puce limite le temps entre les tentatives de code PIN, ce qui rend les attaques par force brute difficiles. De plus, la clé GPG n'est pas récupérable depuis les cartes à puce.

Configurer votre carte à puce GPG

Des instructions à ce sujet sont fournies par Purism et Yubico . Ici, nous allons passer par un mélange des deux configurations, cependant, les choses sont assez analogiques. N'hésitez pas à utiliser les manuels individuels pour configurer votre clé.

Création de clés GPG

Afin d'utiliser votre carte à puce pour déverrouiller votre appareil LUKS avec GPG, vous devez créer des clés GPG et les charger sur la carte à puce. Une fois sur une carte à puce, les clés GPG peuvent uniquement être supprimées mais pas récupérées. YubiKeys ainsi que la clé Librem prennent en charge la génération de clés GPG directement sur la clé. C'est la méthode la plus sécurisée, cependant, elle ne vous permettra pas de conserver une sauvegarde de votre clé. Je recommande ce qui suit : Obtenez un système d'exploitation Linux en direct, par exemple, un disque en direct PureOS et créez vos clés GPG sur le système d'exploitation en direct. Bien sûr, n'activez aucune connectivité sur le système d'exploitation en direct. Ajoutez les clés GPG à vos cartes à puce principales et de secours. Si vous souhaitez conserver les clés GPG dans un emplacement sécurisé, placez-les dans un conteneur veracrypt et stockez-les dans un endroit sûr. De cette façon, vous pouvez recréer la configuration de votre carte à puce si vous le souhaitez ou si vous en avez besoin. Rappelles toi,

Pour créer un type de clé GPG :

gpg --expert --full-gen-key

Cela lancera la création de la clé. Lorsque vous y êtes invité, sélectionnez RSA and RSA (default)la clé que vous souhaitez créer. Spécifiez 4096la taille de la clé et la taille de la sous-clé. Précisez ensuite la durée de validité de votre clé ou sélectionnez 0 pour une validité illimitée. Entrez le nom, l'adresse e-mail (ou une chaîne au format similaire) et le commentaire que vous souhaitez associer à votre clé. La sortie ressemblera à ceci :

gpg: /home/k0dk0d/.gnupg/trustdb.gpg: trustdb created

gpg: key D177E5FAF14074DB marked as ultimately trusted

gpg: directory '/home/k0dk0d/.gnupg/openpgp-revocs.d' created

gpg: revocation certificate stored as '/home/k0dk0d/.gnupg/openpgp-revocs.d/ADC81CF782050A88ACB87320D177E5FAF14074DB.rev'

public and secret key created and signed.

 

pub   rsa4096 2020-05-09 [SC] [expires: 2021-05-09]

      ADC81CF782050A88ACB87320D177E5FAF14074DB

uid                      k0dk0d (TestKey) <k0d@k0d>

sub   rsa4096 2020-05-09 [E] [expires: 2021-05-09]

Créez votre propre certificat de révocation

Si vous souhaitez révoquer votre certificat, vous souhaitez en créer un de révocation. Pour ce faire, allez dans le dossier dans lequel vous souhaitez stocker le certificat et tapez :

gpg --output revocation-certificate.asc --gen-revoke k0dk0d

Il vous posera quelques questions auxquelles vous devrez répondre, comme s'il a choisi la bonne clé (sélectionnez ysi c'est le cas), la raison pour laquelle vous voulez la créer (l'option 1est généralement bonne), les commentaires que vous pourriez avoir. Après avoir entré votre mot de passe de clé secrète, vous obtiendrez un fichier avec le certificat de révocation. Conservez-le dans un endroit sûr.

Remarque : Ici et dans les sections suivantes, le nom de la clé k0dk0dest utilisé. Remplacez-le par votre propre nom de clé.

Configurer votre carte à puce : modifier les codes PIN par défaut

Remarque : De nombreux utilisateurs considèrent généralement les codes PIN uniquement comme des chiffres. Votre NIP peut être n'importe quelle combinaison de chiffres, de lettres et de symboles ! Garde ça en tête.

Si vous n'avez jamais utilisé les fonctionnalités GPG de votre carte à puce, elle est livrée avec des codes PIN standard. Vous devez les modifier avant d'utiliser la clé avec une clé GPG. Pour cela branchez votre carte à puce, puis voyez si vous pouvez la détecter en tapant :

gpg --card-status

Si votre carte à puce est correctement détectée, vous devriez voir le fabricant et quelques informations supplémentaires. En bas, si aucune clé GPG n'est chargée, cela devrait ressembler à ceci :

PIN retry counter : 3 0 3

Signature counter : 0

Signature key ....: [none]

Encryption key....: [none]

Authentication key: [none]

General key info..: [none]

Aucune clé n'est actuellement chargée et les compteurs de tentatives de code PIN doivent ressembler à ceux ci-dessus pour une nouvelle clé. Votre compteur de tentatives de code PIN doit afficher 3 0 3. Les chiffres importants ici sont le premier et le dernier. Le premier nombre compte le nombre de tentatives restantes sur le code PIN et le dernier nombre compte les tentatives sur le code PIN administrateur. Le chiffre du milieu est un compteur qui n'est utilisé que lorsqu'un code de réinitialisation est défini. Les codes de réinitialisation sont utiles pour les cartes à puce commerciales, mais nous ne les utiliserons pas ici. Si vous voulez en savoir plus, vous pouvez lire ici .

Pour définir un nouveau code PIN d'administrateur, vous souhaitez accéder à l'outil d'édition de clé en tapant :

gpg --card-edit

Une fois que vous entrez dans l'outil, votre terminal s'affichera gpg/card>avant l'invite. Vous pouvez utiliser la commande helppour obtenir les options de menu. Pour définir le code PIN et le code PIN administrateur, vous souhaitez d'abord activer le contrôle administrateur en saisissant :

admin

Cela devrait vous donner une réponse disant Admin commands are allowed. Consultez le menu avec aide ou tapez :

passwd

Cela vous amènera au menu pour changer les codes PIN. Vous pouvez modifier le code PIN par défaut (option 1) et le code PIN administrateur par défaut (option 3). Vous pouvez également débloquer le code PIN (au cas où vous l'auriez mal saisi trop de fois et que le compteur indique 0) ici en utilisant l'option (option 2). Vous devez connaître les codes PIN par défaut de votre appareil, il s'agit généralement 123456du code PIN et 12345678du code PIN administrateur (mais vérifiez les descriptions de votre fabricant au cas où ces valeurs par défaut ne fonctionneraient pas). Suivez le menu pour modifier le code PIN et les codes PIN administrateur.

Important : Si vous entrez trois fois votre code PIN administrateur erroné, toutes les informations GPG de votre carte à puce deviendront inutiles car votre carte à puce sera complètement verrouillée. Seule une réinitialisation d'usine peut supprimer ce verrou, mais les clés auront disparu.

Une fois que vous avez terminé, vous pouvez quitter le menu de changement de code PIN avec Qpuis quitter l'outil d'édition de carte avec quit.

Ajouter des sous-clés à votre clé GPG

Dans l'étape ci-dessus, vous avez créé une clé de chiffrement. Cependant, afin d'utiliser correctement votre carte à puce, vous devez ajouter une signature et une clé d'authentification à votre carte à puce.

Pour créer ces sous-clés, nous utiliserons l'outil gpg en mode expert. Vous aurez besoin de votre nom de clé, si vous l'avez oublié, vous pouvez répertorier toutes les clés gpg avec gpg --list-secret-keys(en utilisant simplement --list-keysla liste de toutes les clés publiques de votre trousseau de clés, qui contiendrait également votre clé que vous venez de créer, mais il pourrait être plus difficile de trouver).

Ensuite vous entrez dans le menu d'édition de votre clé en tapant :

gpg --expert --edit-key k0dk0d

Bien sûr, vous souhaitez remplacer k0dk0dpar le nom de clé que vous avez choisi. Cela devrait afficher vos informations clés et vous amener dans une interface de ligne de commande qui commence par gpg>. Pour ajouter une sous-clé de signature, tapez les commandes suivantes dans le terminal et confirmez avec Entrée (nous les passerons en revue individuellement ci-dessous) :

addkey

4

4096

0

Nous créons une nouvelle clé en appelant addkey. Le type de clé que nous voulons ajouter est un (4) RSA (sign only)(donc le 4). La clé de chiffrement a une longueur de 4096 bits, nous choisissons donc la même longueur de clé de signature. Enfin, la saisie d'un 0ne sélectionnerait aucune date d'expiration. Si vous souhaitez que votre clé expire, définissez une date d'expiration appropriée ici. Il est logique de choisir ici les mêmes paramètres que ceux que vous avez choisis ci-dessus.

Enfin, vous devez confirmer deux fois yque vous voulez vraiment créer la clé, puis entrer votre phrase secrète. Vous devrez également entrer le secret de votre clé, par exemple votre phrase de passe GPG.

Ensuite, nous devons créer une clé d'authentification. Pour cela suivez les commandes suivantes :

addkey

8

S

E

A

Q

4096

0

Nous devons d'abord ajouter une nouvelle clé avec addkey. Sélectionnez ensuite l'option (8) RSA (set your own capabilities)en tapant 8. Vous devriez voir maintenant que la signature et le cryptage par défaut sont activés. Le terminal imprimera quelque chose comme ceci :

Possible actions for a RSA key: Sign Encrypt Authenticate

Current allowed actions: Sign Encrypt

Gardez un œil sur cette deuxième ligne en particulier. Nous voulons donc désactiver la signature (la basculer en tapant S), désactiver le chiffrement (la basculer en tapant E) et activer l'authentification (la basculer en tapant A). Maintenant, l'action autorisée ne devrait dire que Authenticate. Si c'est le cas, quittez le modificateur en tapant Q. Spécifiez ensuite la taille de la clé (ici 4096 bits) et définissez l'expiration (ici 0sans expiration). Encore une fois, vous devrez confirmer la création de la clé en tapant yet enfin entrer la phrase secrète de la clé.

La liste de vos clés avec listdevrait maintenant vous donner quelque chose comme ceci :

sec  rsa4096/F12D2F1C6EF286FE

     created: 2020-05-31  expires: never       usage: SC  

     trust: ultimate      validity: ultimate

ssb  rsa4096/1F574253688AB11A

     created: 2020-05-31  expires: never       usage: E  

ssb  rsa4096/0FD129AD09E14971

     created: 2020-05-31  expires: never       usage: S  

ssb  rsa4096/DBCAD6B6E1B43D08

     created: 2020-06-01  expires: never       usage: A  

[ultimate] (1). k0dk0d (Testkey for Blogpost) <k0d@k0d>

Ensuite, nous allons définir le niveau de confiance pour nos propres clés au niveau le plus élevé (nous venons de les créer, nous pouvons leur faire confiance) en tapant :

trust

5

Encore une fois, confirmez avec y. Enfin, sauvegardez votre configuration avec :

save

Cela vous ramènera sur le terminal.

Ajouter des clés GPG à votre carte à puce

Enfin, nous voulons ajouter les clés générées à notre carte à puce. Pour ce faire, nous entrons à nouveau dans le même menu d'édition de clé gpg que ci-dessus. N'oubliez pas de remplacer k0dk0dpar votre nom de clé :

gpg --expert --edit-key k0dk0d

Le programme devrait afficher toutes vos clés et les sous-clés qui viennent d'être générées. N'oubliez pas : Eest la clé de chiffrement, Sla clé de signature et Ala clé d'authentification. Pour sélectionner / désélectionner une clé pour la déplacer vers notre carte à puce, vous pouvez basculer, par exemple, la clé de cryptage en tapant key 1. Cela ajoutera un astérisque à côté de ssbet montrera que la clé est activée. Tapez key 1à nouveau pour le désactiver.

Nous voulons d'abord déplacer la clé de cryptage vers la carte à puce. Voici les commandes requises :

key 1

keytocard

2

Nous voulons d'abord basculer la clé de cryptage (#1) puis la déplacer vers la carte. Le seul emplacement possible où il devrait vous permettre de mettre la clé est l'emplacement de chiffrement, qui devrait être (2) Encryption key. Vous devez ensuite entrer votre mot de passe pour la clé GPG et le code PIN administrateur pour la carte à puce.

Déplaçons ensuite la clé de signature (clé 2). Tapez les commandes suivantes :

key 1

key 2

keytocard

1

Tout d'abord, key 1désélectionne la clé de chiffrement. Ensuite, nous sélectionnons la clé de signature en tapant key 2, la déplaçons sur la carte avec keytocardet sélectionnons l'emplacement (1) Signature keyde signature correspondant. Enfin, confirmez avec la phrase secrète et le code PIN administrateur de la carte à puce.

Enfin, déplaçons la clé d'authentification sur la carte à puce. Séquence de commandes :

key 2

key 3

keytocard

3

Les commandes à ce stade devraient avoir un sens pour vous. Remarque : Si vous enregistrez votre configuration une fois que vous avez terminé et avant de quitter, vos sous-clés transférées seront remplacées par des stubs vides. N'enregistrez donc pas ces paramètres si vous souhaitez utiliser vos clés pour d'autres cartes à puce ou si vous n'avez pas encore créé de sauvegarde du .gnupgdossier et que vous souhaitez le faire bientôt ! Pour vérifier si tout a fonctionné, nous pouvons laisser l'outil d'édition gpg avec quitet vérifier l'état de la carte avec :

gpg --card-status

Maintenant, la fin de ce menu devrait afficher quelque chose comme ici pour vous montrer que les emplacements de clé sont réellement remplis.

PIN retry counter : 3 0 3

Signature counter : 0

Signature key ....: E722 169E B0CD 5628 AC47  0247 0FD1 29AD 09E1 4971

      created ....: 2020-05-31 23:59:30

Encryption key....: BF55 B501 3307 6936 273F  B823 1F57 4253 688A B11A

      created ....: 2020-05-31 23:47:23

Authentication key: FFE4 670C 7D52 FA3C EF21  C680 DBCA D6B6 E1B4 3D08

      created ....: 2020-06-01 00:00:10

General key info..: sub  rsa4096/0FD129AD09E14971 2020-05-31 k0dk0d (Testkey for Blogpost) <k0d@k0d>

sec   rsa4096/F12D2F1C6EF286FE  created: 2020-05-31  expires: never    

ssb>  rsa4096/1F574253688AB11A  created: 2020-05-31  expires: never    

                                card-no: 0006 09075116

ssb>  rsa4096/0FD129AD09E14971  created: 2020-05-31  expires: never    

                                card-no: 0006 09075116

ssb>  rsa4096/DBCAD6B6E1B43D08  created: 2020-06-01  expires: never    

                                card-no: 0006 09075116

Exporter votre clé publique

Enfin, vous souhaitez exporter votre clé publique GPG, car vous en aurez besoin pour chiffrer ultérieurement un fichier de clé utilisé pour votre partition LUKS. Exportez votre clé publique en utilisant :

gpg --armor --export k0dk0d > k0dk0d-public.asc

Encore une fois, vous voulez remplacer k0dk0dpar votre nom de clé. L'option --armorest utilisée pour permettre une impression facile de la clé dans un format ASCII. L'option --exportexportera la clé publique. Enfin, cette fonction imprime généralement la sortie à l'écran. Redirigez-le vers un fichier en sélectionnant > filename.asc. Stockez votre clé publique dans un endroit auquel vous pouvez accéder à partir de votre système d'exploitation principal que vous souhaitez chiffrer.

Sauvegardez votre dossier GPG

Si vous voulez vous assurer de ne pas perdre vos clés, vous devez sauvegarder votre dossier GPG. La façon la plus simple de le faire est de copier tout le .gnupgdossier dans le répertoire de l'utilisateur ~. Alternativement, si vous ne les utilisez que pour déchiffrer votre disque dur et que vous avez également configuré un mot de passe long, vous pouvez bien sûr également détruire les clés après qu'elles ont été ajoutées à une ou plusieurs cartes à puce.

Configurez le déchiffrement du lecteur LUKS avec votre carte à puce

Le décryptage de votre lecteur LUKS avec votre carte à puce dépendra du système d'exploitation. La procédure suivante a été testée avec PureOS . Je m'attends à ce que les détails soient similaires à ceux d'autres systèmes d'exploitation basés sur Debian et je prévois d'écrire des instructions bientôt. Gardez les yeux ouverts pour un post de suivi.

Utilisation du script fourni par Purism

Purism fournit un excellent script pour configurer le déchiffrement de la carte à puce au démarrage. Tout ce dont vous avez besoin pour cela est d'avoir scdaemoninstallé le paquet et d'avoir votre clé publique stockée quelque part. Le script teste également le décryptage avant de le rendre permanent. Une description générale de l'utilisation peut être trouvée ici , le script mis à jour peut être trouvé ici . Passons en revue étape par étape.

Tout d'abord, assurons-nous qu'il scdaemonest installé en exécutant :

sudo apt update

sudo apt install scdaemon

Cela indique très probablement que le package est déjà disponible.

Ensuite, téléchargeons la version actuelle de Purism's dans le dossier actuel en téléchargeant le smartcard-key-luksfichier depuis leur site Web ou en le copiant directement avec wget:

wget https://source.puri.sm/pureos/packages/smartcard-key-luks/-/raw/master/smartcard-key-luks

Rendez le fichier exécutable en tapant :

chmod +x smartcard-key-luks

En supposant que ce script se trouve dans le même dossier que votre clé publique GPG et que votre clé publique GPG est nommée k0dk0d-public.asc(ce qui signifie : remplacez le nom par le nom de votre clé publique), vous pouvez maintenant exécuter le script en tapant ce qui suit. Assurez-vous que votre carte à puce est insérée !

sudo ./smartcard-key-luks k0dk0d-public.asc

Cette routine devrait d'abord vous demander de déverrouiller votre carte à puce avec le code PIN que vous avez défini. Ensuite, vous devrez fournir une ancienne phrase de passe (votre phrase de passe actuelle) pour le chiffrement de votre partition LUKS. Le script doit s'exécuter correctement et tout mettre à jour.

Lorsque vous redémarrez votre ordinateur, vous devrez insérer votre carte GPG. Si aucune carte à puce n'est insérée, vous serez invité à en insérer une. Une fois inséré, vous serez invité à saisir votre code PIN utilisateur pour décrypter le lecteur LUKS. Un déchiffrement réussi s'affichera comme ceci :

LUKS décrypte avec succèsLUKS décrypte avec succès
 

Félicitations, tout est maintenant en place. Vous devriez continuer à lire cependant!

Est-ce sécurisé ?

Une chose intéressante que j'ai remarquée, qui montre également l'importance non seulement de croire, mais de tester réellement : vous ne pouvez pas vous verrouiller hors de votre carte à puce avec la boîte de dialogue de saisie du code PIN LUKS. Le compteur ne va en effet jamais à zéro et donc la carte à puce ne se verrouille jamais. Je ne sais pas à ce stade pourquoi c'est, plus à venir quand j'en trouverai plus. La vraie question est cependant : est-ce que cela n'est pas sécurisé ?

L'invite LUKS limite le débit, ce qui signifie que vous ne pouvez pas brancher, par exemple, un canard en caoutchoucet essayez de nombreuses combinaisons de touches. En fait, vous pouvez, cependant, la limitation du débit empêche tout processus automatisé d'aller trop vite. Je l'ai brièvement "mesuré" en saisissant manuellement 21 codes PIN erronés et en mesurant le temps qu'il m'a fallu à la main : 34 s. Cela fait 1,6 s par essai. Bien sûr, un processus automatisé pourrait réduire cela. Supposons 1 s par essai, un mot de passe de 8 caractères : pour simplifier nous n'utiliserons que des lettres minuscules et des chiffres. Cela vous donne 36 caractères. Les combinaisons possibles sont alors \(36^8 \approx 2.8 \times 10^{12}\). En devinant à un taux de 1 combinaison par seconde et en supposant que vous devez deviner la moitié de ces combinaisons avant de faire fonctionner le décryptage, cela prendra encore plus de 44 000 ans. Bien sûr, je préférerais que la carte se verrouille simplement, mais la limitation du débit la rend également très sécurisée.

Dans les coulisses du scénario de Purism

Examinons plus en détail le script fourni par Purism. Comme mentionné ci-dessus, cet article de blog ne fournira pas une vue détaillée de ce que fait réellement le script, mais décrira principalement ses fonctionnalités générales. Le lecteur intéressé peut toujours suivre directement le script. Pour faciliter cela, je soulignerai les numéros de ligne dans la version actuelle du script, qui a le commit SHA suivant :

003fe29af978bc6772bf11f2173b0fe40458d116

Passons ici la vérification de l'erreur / de l'utilisateur et entrons dans les détails de ce qu'il fait. Il trouve d'abord l'identifiant de la partition LUKS montée à la racine (ligne 22) en recherchant le /etc/fstabfichier, qui répertorie tous les lecteurs actuellement disponibles.

Quelques tests plus tard, un fichier de clé secrète est créé (ligne 84) et crypté avec la clé de cryptage sur la carte à puce (ligne 85). Ce fichier est nommé cryptkey.gpg. Le déchiffrement de ce fichier avec la carte à puce est ensuite testé (ligne 94), vous devez donc entrer le code PIN de votre carte à puce lors de ce processus.

En cas de succès, la clé secrète (pas la clé chiffrée) est ajoutée à LUKS (ligne 104) en tant que nouvelle clé. Par conséquent, cryptsetup vous invite à saisir une phrase de passe de décryptage LUKS. En cas de succès, le secret est maintenant déchiqueté (ligne 111).

Enfin, un nouveau crypttabfichier est écrit (ligne 118) et mis en place (ligne 119), le système de démarrage initial mis à jour (ligne 122), les fichiers de configuration GRUB sont mis à jour (lignes 125 – 131). Puis grub est mis à jour (ligne 133).

Où est stocké votre fichier clé ?

Votre cryptkey.gpgfichier (crypté) est stocké dans :

/etc/cryptsetup-initramfs/cryptkey.gpg

Sauvegardez ce fichier dans un emplacement sécurisé si vous le souhaitez.

Révoquer le cryptage de la carte à puce

La révocation du cryptage de la carte à puce n'est pas un processus automatisé et doit être effectuée manuellement. Cependant, voici une liste étape par étape sur la façon de procéder. Ne redémarrez pas l'ordinateur pendant que vous suivez ces étapes !

  1. 1.Supprimez le fichier /etc/cryptsetup-initramfs/cryptkey.gpg. Bien que cela ne soit pas strictement nécessaire, réactiver le chiffrement avec le script Purism cassera le déchiffrement avec une clé. Supprimez donc ce fichier en tapant :  

     sudo rm /etc/cryptsetup-initramfs/cryptkey.gpg 

  2. 2.Ouvrez le fichier /etc/crypttabdans un éditeur (en tant que root). La première ligne non commentée de ce fichier devrait ressembler à ceci :  

     luks-b6285bda-fe1f-4670-936e-e579eeae3752 UUID=b6285bda-fe1f-4670-936e-e579eeae3752 /etc/cryptsetup-initramfs/cryptkey.gpg luks,keyscript=decrypt_gnupg-sc 

    La première entrée ici est le nom de la partition chiffrée, la deuxième entrée le nom, suivi du mot de passe (ici le fichier clé) et enfin la manière de la déchiffrer (en utilisant le decrypt_gnupg-scscript de cryptsetup). Modifiez cette ligne de sorte qu'elle ressemble à ceci : 

     luks-b6285bda-fe1f-4670-936e-e579eeae3752 UUID=b6285bda-fe1f-4670-936e-e579eeae3752 none luks 

    Les deux derniers paramètres doivent dire none luksici. Enregistrez et quittez ce fichier. 

  3. 3.Pour supprimer la clé de déchiffrement de votre en-tête LUKS, vous devez savoir dans quel emplacement de clé elle se trouve. Habituellement, votre mot de passe initialement choisi se trouve dans l'emplacement zéro. Le déchiffrement avec le crypto_keyfile.binest généralement effectué à l'aide de l'emplacement de clé 1. Déterminez l'emplacement de clé pour votre ou vos mots de passe (devrait être l'emplacement de clé 0 si vous ne l'avez jamais changé depuis l'installation) à l'aide de la commande donnée plus haut et déterminez l'emplacement de clé de la clé GPG est par exclusion. Si le cryptage GPG est dans l'emplacement 2, supprimez-le en tapant :  

     sudo cryptsetup luksKillSlot /dev/sda2 2 

    Cette commande supprimerait l'emplacement 2 (le numéro à la fin de la ligne) de /dev/sda2. Il vous sera demandé de saisir une phrase de passe restante dans le champ pour confirmer. Ce sera votre mot de passe. Cela garantit également que vous ne pouvez pas supprimer une phrase de passe que vous connaissez. 

  4. 4.Ensuite, nous devons mettre à jour l'image initramfs utilisée par défaut. Pour ce faire, tapez :  

      sudo update-initramfs -u 

  5. 5.Enfin, nous devons remettre grub à son réglage d'origine. Le contenu de ces fichiers est modifié avec des commandes perl pour rechercher et remplacer des modèles donnés. Pour ces commandes, nous pouvons simplement inverser les remplacements. Exécutez les quatre commandes suivantes pour annuler les modifications appliquées par le script Purism :  

     sudo perl -pi -e 's/^GRUB_CMDLINE_LINUX_DEFAULT=(.*) nosplash noresume loglevel=3/GRUB_CMDLINE_LINUX_DEFAULT=\1 splash/' /etc/default/grub 

     sudo perl -pi -e 's/GRUB_CMDLINE_LINUX_RECOVERY=\"\$GRUB_CMDLINE_LINUX_RECOVERY recovery\"/GRUB_CMDLINE_LINUX_RECOVERY=recovery/' /etc/grub.d/10_linux 

     sudo perl -pi -e 's/GRUB_CMDLINE_LINUX_RECOVERY=\"\$GRUB_CMDLINE_LINUX_RECOVERY single\"/GRUB_CMDLINE_LINUX_RECOVERY=single/' /etc/grub.d/10_linux 

     sudo perl -pi -e 's/  GRUB_CMDLINE_LINUX_RECOVERY \\\n//' /usr/sbin/grub-mkconfig 

    Enfin, ouvrez le fichier /etc/default/grubet supprimez la dernière ligne du fichier, qui devrait ressembler à ceci. 

     GRUB_CMDLINE_LINUX_RECOVERY="cryptopts=target=luks-b6285bda-fe1f-4670-936e-e579eeae3752,source=UUID=b6285bda-fe1f-4670-936e-e579eeae3752,luks" 

    Cette ligne a été écrite par la echo...commande de la ligne 126 du script Purism. 

    Vous êtes maintenant prêt à mettre à jour grub en tapant : 

     sudo update-grub 

  6. 6.Redémarrez votre ordinateur! Vous serez invité à saisir une phrase secrète et vous ne pourrez pas déverrouiller votre ordinateur avec votre carte à puce GPG.  

Urgences

Carte à puce perdue

Si vous perdez votre carte à puce, vous pouvez toujours démarrer votre système d'exploitation avec votre mot de passe. Entrez dans le menu de démarrage GRUB, sélectionnez Advanced Options [...]et démarrez en mode de récupération. LUKS vous demandera maintenant votre mot de passe pour déchiffrer le lecteur. Après avoir entré le mot de passe, vous pouvez soit démarrer en Maintenance modeappuyant sur Entrée, soit démarrer régulièrement dans un XServer en appuyant sur Ctrl+d. Cela démarrera votre OSX général. Vous pouvez maintenant ajouter une nouvelle carte à puce, supprimer l'ancienne, etc.

Montez votre lecteur LUKS dans un système d'exploitation Live

Si vous ne pouvez pas accéder à votre compte parce que quelque chose s'est passé, démarrez dans un système d'exploitation en direct. De là, vous pouvez monter votre disque dur principal en cliquant dessus depuis l'interface graphique. Vous pouvez taper l'une de vos phrases secrètes et LUKS trouvera l'emplacement de clé qui convient et déverrouillera votre lecteur. Vous avez maintenant un accès complet à vos données et pouvez sauvegarder n'importe quoi sur un disque dur externe avant d'essayer de réparer votre système.

Pour monter un lecteur LUKS à partir de la ligne de commande, nous devons d'abord créer un point de montage, c'est-à-dire un endroit où nous monterons le lecteur. Par exemple, nous pouvons créer un dossier dans /mntappelé luks-driveen tapant :

sudo mkdir /mnt/luks-drive

Ensuite, nous déchiffrons le lecteur avec cryptsetup et le rendons disponible en tant que périphérique nommé luks-drivedans /dev/mapper.

sudo cryptsetup luksOpen /dev/sda2 luks-drive

Cela vous demandera votre mot de passe LUKS pour le décryptage. Enfin, montez le lecteur en exécutant :

sudo mount /dev/mapper/luks-drive /mnt/luks-drive/

Vous pouvez maintenant accéder au lecteur monté.

Débloquer un code PIN de carte à puce

Si vous devez réinitialiser le compteur de PIN utilisateur, suivez les étapes décrites dans la section Création de PIN plus loin. Cela réinitialisera le compteur de la carte à puce.

Réinitialiser les clés GPG sur la carte à puce

Pour réinitialiser les clés GPG sur la carte à puce, accédez au menu d'édition de carte de l'outil gpg, accédez au panneau d'administration et exécutez une réinitialisation d'usine. Les commandes sont les suivantes :

gpg --edit-card

admin

factory-reset

Vous devrez le confirmer. Quittez ensuite le menu avec quit. Vous pouvez vérifier si la réinitialisation a réussi avec gpg --card-status.

Sauvegarde et restauration de l'en-tête LUKS

Comme mentionné précédemment, les en-têtes LUKS, en particulier la version 1, ne fonctionnent plus s'ils sont corrompus. Une façon de vous assurer que vous n'aurez pas de problèmes si vous finissez par corrompre votre en-tête LUKS par accident consiste à sauvegarder l'en-tête. Vous pouvez le faire en exécutant :

sudo cryptsetup luksHeaderBackup --header-backup-file ~/my_luks_header_backup /dev/sda2

Cela sauvegardera votre en-tête LUKS complet dans un fichier nommé my_luks_header_backupdans le dossier d'accueil des utilisateurs. Ce fichier ne peut être lu que par root. Vous ne voulez pas stocker cet en-tête dans votre dossier personnel mais idéalement sur un lecteur externe crypté. De cette façon, vous pouvez également restaurer votre en-tête LUKS à l'aide d'un système d'exploitation amorçable. Vous voulez également vous assurer que votre en-tête LUKS est stocké en toute sécurité, c'est-à-dire sur un disque dur externe crypté ou dans un conteneur veracrypt. Pour supprimer toute trace de l'en-tête LUKS dans le dossier personnel de votre utilisateur après l'avoir déplacé, nous pouvons exécuter :

sudo shred -u my_luks_header_backup

La restauration d'un en-tête LUKS est tout aussi simple. Remarque : Si vous n'êtes pas sûr d'avoir saisi le bon en-tête à restaurer, sauvegardez d'abord l'en-tête actuel dans un fichier en utilisant la commande donnée précédemment. Pour restaurer un en-tête, c'est-à-dire à partir du fichier qui vient d'être créé nommé my_luks_header_backupdans le répertoire personnel de l'utilisateur, tapez :

sudo cryptsetup luksHeaderRestore --header-backup-file ~/my_luks_header_backup /dev/sda2

Vous devrez confirmer cette commande en tapant YEStout en majuscules. L'en-tête LUKS existant qui se trouve sur la partition sera détruit, alors assurez-vous que vous disposez d'une sauvegarde de l'en-tête actuel, que vous avez un en-tête LUKS correct et non corrompu dans le fichier, ou que vous ne vous souciez vraiment pas du données sur ce disque. La restauration d'un en-tête LUKS peut être effectuée à partir de n'importe quel système d'exploitation sur n'importe quel lecteur, assurez-vous simplement que vous avez sélectionné le bon périphérique et remplacez- /dev/sda2le par votre configuration.

Note de sécurité : la sauvegarde des en-têtes est importante, cependant, n'oubliez pas de détruire vos anciennes sauvegardes d'en-tête si vous finissez par ajouter et supprimer des phrases secrètes de votre en-tête actuel. Sinon, la modification de la phrase secrète peut facilement être annulée par toute personne ayant accès à votre lecteur et à votre ancien en-tête LUKS en restaurant simplement cette ancienne version.

Et si vous bousilliez quelque chose

NE PAS PANIQUER! Tout d'abord, vous avez une sauvegarde (n'est-ce pas ?). Deuxièmement, si votre disque est actuellement déchiffré et que vous pouvez accéder à vos données, ne redémarrez pas. Respirez profondément, rappelez-vous de ne pas paniquer, respirez profondément et prenez peut-être une gorgée d'eau.

Il est maintenant temps de faire des recherches. Qu'est-il arrivé? Où pensez-vous que le problème ? Si c'est avec cryptsetup, allez voir leur section FAQ en ligne. Assurez-vous de bien comprendre les commandes avant de les exécuter.

Si vous venez de gâcher votre clé GPG et que vous ne l'avez pas encore ajoutée à votre trousseau, c'est probablement bien. Vous avez probablement créé une nouvelle clé GPG pour cette configuration (ou vous avez une sauvegarde). Vous pouvez refaire des étapes comme celles-ci facilement. Croyez-moi, j'ai traversé cette configuration plusieurs fois, non pas parce que j'ai installé tant d'ordinateurs, mais parce que je l'ai foiré ici et là.

Enfin : Si tout échoue, vous avez une sauvegarde, un système proprement installé prendra du temps mais cela arrive à tout le monde ! Parfois, les choses tournent mal, nous vivons et apprenons d'eux.

Soyez prudent!
-k0dk0d

Lectures complémentaires et références